/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package imperio.eventos;

import imperio.controlador.Cap;
import imperio.population.Individuo;
import imperio.population.Populacao;
import imperio.simulador.Simulador;

/**
 *
 * @author Bernardo
 */
public class Morte extends Evento{

    /**
     * 
     */
    public static float mi;

    /**
     * 
     * @return float
     */
    public static float getMi() {
        return mi;
    }

    /**
     * 
     * @param mi
     */
    public static void setMi(float mi) {
        Morte.mi = mi;
    }
    
     /**Método construtor recebe um individuo como parâmetro e associa o evento de morte a esse indivíduo.

     * @param  individuo Individuo - Individuo no qual o evento de morte será associado.   

     */

    public Morte(Individuo individuo) {
        super(individuo);
        super.setTempo(Simulador.tempoCorrente + (1- Math.log(1 - individuo.getConforto()))*mi);
    }
    
 
 /**Método de simulação do evento de morte, no qual o indivíduo é retirado da população 
  
     *e tem os seus futuros eventos retirados da CAP.    
     
     */

    @Override
    public void simularEvento() {        
        Cap.removerEvCap(super.getIndividuo());
        Populacao.individuos.remove(super.getIndividuo());        
    }

}
